package br.com.werp.regras.tesouraria.visao.decorador;

import br.com.werp.regras.geral.helpers.CidadeHelper;
import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.util.FormatDate;
import br.com.werp.regras.geral.vos.pessoa.PessoaFisicaVO;
import br.com.werp.regras.geral.vos.tabelas.Cidade;

import org.displaytag.decorator.TableDecorator;


/**
 * @author Sobreira
 * Criado em 12/01/2005
 *
 */
public class PessoaFisica extends TableDecorator {
    public String getFisc_sexo() {
        PessoaFisicaVO pessoaFisicaVO = (PessoaFisicaVO) getCurrentRowObject();

        return "M".equals(pessoaFisicaVO.getFisc_sexo()) ? "Masculino"
                                                         : "Feminino";
    }

    public String getFisc_estado_civil() {
        PessoaFisicaVO pessoaFisicaVO = (PessoaFisicaVO) getCurrentRowObject();

        if ("S".equals(pessoaFisicaVO.getFisc_estado_civil())) {
            return "Solteiro";
        } else if ("C".equals(pessoaFisicaVO.getFisc_estado_civil())) {
            return "Casado";
        } else if ("D".equals(pessoaFisicaVO.getFisc_estado_civil())) {
            return "Divorciado";
        } else if ("Q".equals(pessoaFisicaVO.getFisc_estado_civil())) {
            return "Disquitado";
        } else if ("V".equals(pessoaFisicaVO.getFisc_estado_civil())) {
            return "Viuvo";
        }

        return null;
    }

    public String getFisc_nascimento() {
        PessoaFisicaVO pessoaFisicaVO = (PessoaFisicaVO) getCurrentRowObject();

        return FormatDate.format(pessoaFisicaVO.getFisc_nascimento(),
            Constantes.DATA_FORMATO);
    }

    public String getFisc_naturalidade() throws Exception {
        PessoaFisicaVO pessoaFisicaVO = (PessoaFisicaVO) getCurrentRowObject();

        if (pessoaFisicaVO.getFisc_naturalidade() != 0) {
            Cidade cidade = CidadeHelper.obterCidade(String.valueOf(
                        pessoaFisicaVO.getFisc_naturalidade()));

            return cidade.getCida_descricao();
        } else {
            return "";
        }
    }

    public String getPess_nome() {
        PessoaFisicaVO pessoaFisicaVO = (PessoaFisicaVO) getCurrentRowObject();

        return "<a href=\"" + "../Fornecedores/FisicasForm.do?" +
        "carregar_pessoa_fisica_action=&pess_id=" +
        pessoaFisicaVO.getPess_id() + "" + "&atualizar=ok\">" +
        pessoaFisicaVO.getPess_nome() + "</a>";
    }
}
